<?php

namespace GuanChanghu\Enum;


/**
 * @author guanchanghu
 * Enum ClientEnum
 * @method static $this web()
 * @method static $this admin()
 * @method static $this h5()
 * @method static $this agent()
 * @method static $this wap()
 * @method static $this merchant()
 * @package GuanChanghu\Enum
 * Created on 2025/11/02 15:19
 * Created by guanchanghu
 * Email guanchanghu626@163.com
 */
class ClientEnum extends BaseEnum
{
    /**
     * @var string
     */
    public const WEB = 'web';

    /**
     * @var string
     */
    public const ADMIN = 'admin';

    /**
     * @var string
     */
    public const H5 = 'h5';

    /**
     * @var string
     */
    public const AGENT = 'agent';

    /**
     * @var string
     */
    public const WAP = 'wap';

    /**
     * @var string
     */
    public const MERCHANT = 'merchant';

    /**
     * @return int[]
     */
    protected static function values(): array
    {
        return [
            'web' => self::WEB,
            'admin' => self::ADMIN,
            'h5' => self::H5,
            'agent' => self::AGENT,
            'wap' => self::WAP,
            'merchant' => self::MERCHANT,
        ];
    }

    /**
     * @return array|string[]
     */
    protected static function labels(): array
    {
        return [
            'web' => function_exists('__') ? __('enums.client.web') : 'web',
            'admin' => function_exists('__') ? __('enums.client.admin') : 'admin',
            'h5' => function_exists('__') ? __('enums.client.h5') : 'h5',
            'agent' => function_exists('__') ? __('enums.client.agent') : 'agent',
            'wap' => function_exists('__') ? __('enums.client.wap') : 'wap',
            'merchant' => function_exists('__') ? __('enums.client.merchant') : 'merchant',
        ];
    }
}
